<template>
  <div :id="id" style="width:50%; height: 300px;">
  </div>
</template>

<script>
import * as echarts from 'echarts';
export default {
  props: {
    id: {
      type: String,
      default: ''
    },
    title: {
      type: String,
      default: ''
    }
  },
  data() {
    return {
      myCharts: null,
    }
  },
  mounted() {
    this.init()
    window.addEventListener("resize", this.resize);
  },
  watch: {},
  methods: {
    init() {
      var chartDom = document.getElementById(this.id);
      this.myCharts = echarts.init(chartDom);
      var option;
      option = {
        title: {
          text: this.title,
          left: 'center'
        },
        legend: {
          top: 'bottom'
        },
        toolbox: {
          show: true,
          feature: {
            mark: { show: true },
            dataView: { show: true, readOnly: false },
            restore: { show: true },
            saveAsImage: { show: true }
          }
        },
        series: [
          {
            name: 'Nightingale Chart',
            type: 'pie',
            radius: [40, 100],
            center: ['50%', '50%'],
            roseType: 'area',
            label: {
                formatter: '{b} : {c} ({d}%)'
            },
            // itemStyle: {
            //   borderRadius: 8
            // },
            data: [
              { value: 40, name: 'rose 1' },
              { value: 38, name: 'rose 2' },
              { value: 32, name: 'rose 3' },
              { value: 30, name: 'rose 4' },
              { value: 28, name: 'rose 5' },
              { value: 26, name: 'rose 6' },
              { value: 22, name: 'rose 7' },
              { value: 18, name: 'rose 8' }
            ]
          }
        ]
      };
      option && this.myCharts.setOption(option);
    },
    // 页面缩放
    resize() {
      this.myCharts.resize();
    },
  },
  beforeDestroy() {
    if(!this.myChart){
      return
    }
    window.removeEventListener("resize", this.resize);
    this.myChart.dispose()
  }
}
</script>

<style lang="sass" scoped>

</style>